[c++]错在那里?

来源:百度知道 编辑:UC知道 时间:2024/06/18 22:55:20
#include <iostream>
using namespace std;
void zz(int *s);
int main()
{
int a[3][3];
cout<<"enter 3*3 jz:"<<endl;
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cin>>a[i][j];
}
}
zz(a);
}
void zz(int *s)
{
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
cout<<*((s+i)+j)<<" ";
}
}
}

将语句
cout<<*((s+i)+j)<<" ";
改为
cout<<*((s+i*3)+j)<<" ";
另外,调用zz(a)的时候,需要将实参类型强制成int *,比如:
zz((int *)a);

数组指针表示错误,
把cout<<*((s+i)+j)<<" "; 改为
cout<<*(*(s+i)+j)<<" "; 试试

类型不匹配
zz参数是int*,而你调用时a类型为int [][3]